Improving Language Understanding by Generative Pre

您所在的位置:网站首页 work for free翻译 Improving Language Understanding by Generative Pre

Improving Language Understanding by Generative Pre

2023-04-13 15:28| 来源: 网络整理| 查看: 265

Abstract

自然语言理解包括范围广泛的不同任务,例如文本蕴含、问答、语义相似性评估和文档分类。尽管大量未标记的文本语料库很丰富,但用于学习这些特定任务的标记数据却很少,这使得经过判别训练的模型难以充分执行。 我们证明,通过在不同的未标记文本语料库上对语言模型进行生成式预训练,然后对每个特定任务进行判别式微调,可以实现这些任务的巨大收益。与以前的方法相比,在微调期间使用任务感知输入转换来实现有效传输,同时需要对模型架构进行最少的更改。我们证明了我们的方法在广泛的自然语言理解基准上的有效性。通用任务不可知模型优于使用为每项任务专门设计的架构的有区别训练的模型,显着改进了所研究的 12 项任务中的 9 项的最新技术水平。 例如,在常识推理(Stories Cloze 测试)、问题回答(RACE)和文本蕴含(MultiNLI)方面实现了 8.9% 的绝对改进,以及 1.5% 的绝对改进。

Introduction

从原始文本中有效学习的能力对于减轻自然语言处理 (NLP) 中对监督学习的依赖至关重要。 大多数深度学习方法需要大量的手动标记数据,这限制了它们在许多缺乏注释资源的领域中的适用性 [61]。 在这些情况下,可以利用未标记数据中的语言信息的模型提供了一种有价值的替代方法来收集更多的注释,这可能既耗时又昂贵。 此外,即使在有大量监督的情况下,以无监督方式学习良好的表示也可以显着提高性能。 迄今为止,最令人信服的证据是广泛使用预训练词嵌入 [10、39、42] 来提高一系列 NLP 任务的性能 [8、11、26、45]。

从原始文本中有效学习的能力对于减轻自然语言处理 (NLP) 中对监督学习的依赖至关重要,大多数深度学习方法需要大量的手动标记数据,这限制了它们在许多缺乏注释资源的领域中的适用性 [61]。在这些情况下,可以利用未标记数据中的语言信息的模型提供了一种有价值的替代方法来收集更多的注释,这可能既耗时又昂贵。此外,即使在有大量监督的情况下,以无监督方式学习良好的表征也可以显着提高性能。迄今为止,最令人信服的证据是广泛使用预训练词嵌入 [10、39、42] 来提高一系列 NLP 任务的性能 [8、11、26、45]。

本文中,我们结合无监督预训练和监督微调,探索了一种用于语言理解任务的半监督方法。我们的目标是学习一种通用表示,这种表示几乎不需要适应各种任务。假设可以访问大量未标记文本和几个带有手动注释训练示例(目标任务)的数据集。我们的设置不要求这些目标任务与未标记的语料库位于同一域中,采用两阶段训练程序。首先,在未标记数据上使用语言建模目标来学习神经网络模型的初始参数。随后,使用相应的监督目标使这些参数适应目标任务。

我们的模型架构,使用了 Transformer [62],它已被证明在机器翻译 [62]、文档生成 [34] 和句法解析 [29] 等各种任务中表现出色。与循环网络等替代方案相比,这种模型选择为我们提供了更结构化的记忆来处理文本中的长期依赖关系,从而在不同任务中产生稳健的传输性能。在传输过程中,利用源自遍历式方法 [52] 的特定于任务的输入自适应,该方法将结构化文本输入处理为单个连续的标记序列。正如实验中所展示的那样,这些调整使我们能够在对预训练模型的架构进行最小更改的情况下有效地进行微调。

我们在四种类型的语言理解任务上评估我们的方法——自然语言推理、问答、语义相似性和文本分类。通用任务不可知模型优于采用专门为每项任务设计的架构的判别式训练模型,显着改进了所研究的 12 项任务中的 9 项的最新技术水平。 例如,在常识推理(故事完形填空测试)[40]、问题回答(RACE)[30]、文本蕴含(MultiNLI)[66]和 5.5% 方面实现了 8.9% 的绝对改进。最近介绍了 GLUE 多任务基准 [64]。还分析了预训练模型在四种不同设置下的零样本行为,并证明它为下游任务获取了有用的语言知识。

Related WorkSemi-supervised learning for NLP

我们的工作属于自然语言的半监督学习类别。这种范式引起了人们极大兴趣,应用于序列标记 [24、33、57] 或文本分类 [41、70] 等任务。最早的方法使用未标记数据来计算单词级别或短语级别的统计信息,然后将其用作监督模型中的特征 [33]。在过去的几年中,研究人员已经证明了使用在未标记的语料库上训练的词嵌入 [11、39、42] 来提高各种任务的性能的好处 [8、11、26、45] ,这些方法主要传递单词级别的信息,我们的目标是捕获更高级别的语义。最近的方法研究了从未标记的数据中学习和利用超过单词级的语义,可以使用未标记的语料库进行训练的短语级或句子级嵌入已被用于将文本编码为适合各种目标任务的向量表示 [28、32、1、36、22、12、56]。

Unsupervised pre-training

无监督预训练是半监督学习的一个特例,其目标是找到一个好的初始化点而不是修改监督学习目标。早期的工作探索了该技术在图像分类 [20、49、63] 和回归任务 [3] 中的应用,随后的研究 [15] 表明,预训练作为一种正则化方案,可以在深度神经网络中实现更好的泛化。在最近的工作中,该方法已被用于帮助训练深度神经网络完成各种任务,如图像分类 [69]、语音识别 [68]、实体消歧 [17] 和机器翻译 [48]。

与我们最接近的工作涉及使用语言建模目标对神经网络进行预训练,然后在监督下针对目标任务对其进行微调。 尽管预训练阶段有助于捕获一些语言信息,但他们对 LSTM 模型的使用将他们的预测能力限制在一个小范围内。 相比之下,我们选择的transformer网络使我们能够捕获更远距离的语言结构,如实验所示。此外,还展示了我们的模型在更广泛的任务中的有效性,包括自然语言推理、释义检测和故事完成。其他方法 [43、44、38] 使用来自预训练语言或机器翻译模型的隐藏表示作为辅助特征,同时在目标任务上训练监督模型,这涉及每个单独的目标任务的大量新参数,需要在传输过程中对模型架构进行最少的更改。

Auxiliary training objectives

添加辅助无监督训练目标是半监督学习的另一种形式。Collobert 和 Weston [10] 的早期工作使用了各种各样的辅助 NLP 任务,例如 POS 标记、分块、命名实体识别和语言建模来改进语义角色标记。最近,Rei [50] 在他们的目标任务目标中添加了一个辅助语言建模目标,并展示了在序列标记任务上的性能提升。我们的实验还使用了一个辅助目标,正如所展示的,无监督预训练已经学习了与目标任务相关的几个语言方面。

Framework

我们的训练过程包括两个阶段。第一阶段是在大型文本语料库上学习高容量语言模型。接下来是微调阶段,在此阶段我们使模型适应带有标记数据的判别任务。

Unsupervised pre-training

给定一个无监督的标记语料库 U = {u1, . . . , un},我们使用标准语言建模目标来最大化以下可能性:

其中 k 是上下文窗口的大小,条件概率 P 使用参数为 Θ 的神经网络建模。 这些参数使用随机梯度下降 [51] 进行训练。我们的实验中,为语言模型使用多层 Transformer 解码器 [34],它是 transformer [62] 的变体。该模型对输入上下文标记应用多头自注意力操作,然后是位置前馈层,以在目标标记上产生输出分布:

其中U = (u−k, . . . , u−1)是token的上下文向量,n是层数,We是token嵌入矩阵,Wp是位置嵌入矩阵。

Supervised fine-tuning

在使用等式中的目标训练模型之后,我们调整参数以适应监督目标任务。假设有一个带标签的数据集 C,其中每个实例都由一系列输入标记 x1, ... 组成。 . . , xm, 以及标签 y,输入通过我们的预训练模型获得最终变换器块的激活 hml ,然后将其馈送到具有参数 Wy 的附加线性输出层以预测 y:

这为我们提供了以下最大化目标:

我们还发现,将语言建模作为微调的辅助目标通过 (a) 改进监督模型的泛化,以及 (b) 加速收敛来帮助学习。这与之前的工作一致,后者还观察到这种辅助目标的性能有所提高。具体来说,我们优化了以下目标(权重为 λ):

总的来说,在微调期间唯一需要的额外参数是 Wy 和分隔符标记的嵌入(在下面的第 3.3 节中描述)。

Task-specific input transformations

对一些任务,比如文本分类,可以直接微调我们的模型,如上所述。某些其他任务,如问题回答或文本蕴含,具有结构化输入,如有序的句子对,或文档、问题和答案的三元组。 由于预训练模型是在连续的文本序列上训练的,因此需要进行一些修改才能将其应用于这些任务。以前的工作提出了在迁移表示之上的学习任务特定架构[44],这种方法重新引入了大量特定于任务的定制,并且不对这些额外的架构组件使用迁移学习。相反,我们使用遍历式方法 [52],将结构化输入转换为我们的预训练模型可以处理的有序序列。这些输入转换使我们能够避免跨任务对架构进行大量更改。我们在下面提供了这些输入转换的简要描述,图 1 提供了一个直观的说明,所有转换都包括添加随机初始化的开始和结束标记 (, )。

Textual entailment

对于Textual entailment 任务,我们将前提 p 和假设 h 标记序列连接起来,中间有一个分隔符标记 ($)。

Similarity

对于相似性任务,被比较的两个句子没有固有的顺序。为了反映这一点,修改输入序列以包含两种可能的句子顺序(中间有一个分隔符)并独立处理每个以产生两个序列表示 hm l,它们在被馈送到线性输出层之前按元素添加。

Question Answering and Commonsense Reasoning

对于这些任务,我们得到了一个上下文文档 z、一个问题 q 和一组可能的答案 {ak}。将文档上下文和问题与每个可能的答案连接起来,在它们之间添加一个定界符标记以获得 [z; 问; $; 啊],这些序列中的每一个都使用我们的模型独立处理,然后通过 softmax 层归一化以产生可能答案的输出分布。

ExperimentsSetup

Unsupervised pre-training

我们使用 BooksCorpus 数据集 [71] 来训练语言模型。它包含 7,000 多本独特的未出版书籍,这些书籍来自各种类型,包括冒险、奇幻和浪漫。 至关重要的是,它包含很长一段连续的文本,这使得生成模型能够学习以远程信息为条件。另一个数据集 1B Word Benchmark 被类似的方法 ELMo [44] 使用,其大小大致相同,但在句子级别进行了打乱——破坏了远程结构。我们的语言模型在这个语料库上达到了 18.4 的非常低的标记级别困惑。

Model specifications

我们的模型在很大程度上遵循了原始的transformer工作 [62]。我们训练了一个只有 12 层解码器的转换器,带有屏蔽的自注意力头(768 维状态和 12 个注意力头)。对位置前馈网络,使用了 3072 维内部状态。使用 Adam 优化方案 [27],最大学习率为 2.5e-4。前 2000 次更新中,学习率从零开始线性增加,并使用余弦退火到0。在 64 个随机抽样的小批量、512 个标记的连续序列上训练 100 个时期。由于 layernorm [2] 在整个模型中被广泛使用,因此 N (0, 0.02) 的简单权重初始化就足够了。使用具有 40,000 次合并 [53] 的字节对编码 (BPE) 词汇表和 0.1 比率的残差、嵌入和注意力丢失进行正则化。我们还采用了 [37] 中提出的 L2 正则化的修改版本,在所有非偏差或增益权重上 w = 0.01。对激活函数,使用了高斯误差线性单元 (GELU) [18],使用学习位置嵌入而不是原始工作中提出的正弦版本,使用 ftfy library2 清理 BooksCorpus 中的原始文本,标准化一些标点符号和空格,并使用 spaCy 分词器。

Fine-tuning details

除非另有说明,否则会重复使用无监督预训练中的超参数设置。以 0.1 的比率将 dropout 添加到分类器中,对大多数任务,使用 6.25e-5 的学习率和 32 的批量大小。我们的模型可以快速微调,对于大多数情况,3 轮训练就足够了, 使用线性学习率衰减计划,预热超过 0.2% 的训练, λ 被设置为 0.5。

Supervised fine-tuning

我们对各种监督任务进行实验,包括自然语言推理、问答、语义相似性和文本分类,其中一些任务可作为我们最近发布的 GLUE 多任务基准测试 [64] 的一部分使用。 图 1 提供了所有任务和数据集的概览。

Natural Language Inference

自然语言推理(NLI)的任务,也称为识别文本蕴含,涉及阅读一对句子,并从蕴含、矛盾或中性中判断它们之间的关系。 尽管最近有很多兴趣 [58, 35, 44],但由于存在各种各样的现象,如词汇蕴涵、共指以及词汇和句法歧义,这项任务仍然具有挑战性。我们评估了五个不同来源的数据集,包括图像说明 (SNLI)、转录语音、通俗小说和政府报告 (MNLI)、维基百科文章 (QNLI)、科学考试 (SciTail) 或新闻文章 (RTE)。

表 2 详细列出了我们的模型和以前最先进的方法在不同 NLI 任务上的各种结果,我们的方法在五个数据集中的四个上明显优于基线,与之前的最佳结果相比,MNLI 的绝对改进高达 1.5%,SciTail 的绝对改进高达 5%,QNLI 的绝对改进高达 5.8%,SNLI 的绝对改进高达 0.6%。这表明我们的模型能够更好地推理多个句子,并处理语言歧义的各个方面。在 RTE 上,评估的较小数据集之一(2490 个示例),达到了 56% 的准确率,低于多任务 biLSTM 模型报告的 61.7%。鉴于我们的方法在更大的 NLI 数据集上的强大性能,模型很可能也会从多任务训练中受益,但目前尚未对此进行探索。

Question answering and commonsense reasoning

另一个需要单句和多句推理的任务是问答。我们使用最近发布的 RACE 数据集 [30],该数据集由英语段落和中学和高中考试的相关问题组成,该语料库已被证明包含比 CNN [19] 或 SQuaD [47] 等其他数据集更多的推理类型问题,为模型提供了完美的评估,该模型经过训练可以处理远程上下文。此外,还对故事完形填空测试 [40] 进行了评估,该测试涉及从两个选项中选择多句故事的正确结尾。在这些任务上,我们的模型再次以显着优势超越之前的最佳结果——Story Cloze 高达 8.9%,RACE 总体上高达 5.7%。证明了模型有效处理远程上下文的能力。

Semantic Similarity

语义相似性(或释义检测)任务涉及预测两个句子在语义上是否等价。挑战在于识别概念的改写、理解否定和处理句法歧义。为此任务使用了三个数据集——Microsoft 释义语料库 (MRPC) [14](从新闻来源收集)、Quora 问题对 (QQP) 数据集 [9] 和语义文本相似性基准 (STS-B) [6 ]. 我们在三个语义相似性任务(表 4)中的两个上获得了最先进的结果,在 STS-B 上获得了 1 分的绝对增益。 QQP 的性能增量非常显着,与单任务 BiLSTM + ELMo + Attn 相比绝对提高了 4.2%。

Classification

最后,还评估了两个不同的文本分类任务。语言可接受性语料库 (CoLA) [65] 包含对句子是否符合语法的专家判断,并测试训练模型的先天语言偏差。另一方面,斯坦福情感树库 (SST-2) [54] 是标准的二元分类任务。我们的模型在 CoLA 上获得了 45.4 分,这比之前的最佳成绩 35.0 有了很大的飞跃,展示了模型学习到的先天语言偏见,该模型还在 SST-2 上达到了 91.3% 的准确率,这与最先进的结果具有竞争力。我们还在 GLUE 基准测试中获得了 72.8 的总分,明显优于之前的最佳成绩 68.9。

总的来说,我们的方法在评估的 12 个数据集中的 9 个中取得了新的最先进的结果,在许多情况下优于集成。结果还表明,我们的方法适用于不同大小的数据集,从较小的数据集(例如 STS-B(≈5.7k 训练示例))到最大的数据集 – SNLI(≈550k 训练示例)。

Analysis

Impact of number of layers transferred

我们观察了将可变层数从无监督预训练转移到监督目标任务的影响。图 2(左)说明了我们的方法在 MultiNLI 和 RACE 上的性能与传输层数的关系。观察到标准结果,即转移嵌入提高了性能,且每个transformer层为MultiNLI 上的完全转移提供了高达 9% 的进一步收益。表明预训练模型中每一层都包含用于解决目标任务的有用功能。

Zero-shot Behaviors

我们想更好地理解为什么 transformer 的语言模型预训练是有效的。一个假设是,底层生成模型学习执行我们评估的许多任务,以提高其语言建模能力,与 LSTM 相比,transformer 结构化程度更高的注意力记忆有助于迁移。我们设计了一系列启发式解决方案,这些解决方案使用底层生成模型在没有监督微调的情况下执行任务,在图 2(右)的生成预训练过程中可视化了这些启发式解决方案的有效性。观察到这些启发式方法的性能是稳定的,且在训练过程中稳步增加,这表明生成预训练支持学习各种任务相关功能。还观察到 LSTM 在其零样本性能方面表现出更高的方差,这表明 Transformer 架构的归纳偏置有助于迁移。

对于 CoLA(语言可接受性),示例被评分为生成模型分配的平均标记对数概率,并通过阈值进行预测。对SST-2(情感分析),我们将 token 附加到每个示例,并将语言模型的输出分布限制为仅单词 positive 和 negative 并猜测它分配更高概率的 token 作为预测。对RACE(问答),选择生成模型在以文档和问题为条件时分配最高平均标记对数概率的答案。对于 DPRD [46](winograd 模式),将定代词替换为两个可能的指称,并预测生成模型在替换后将更高的平均标记对数概率分配给序列其余部分的分辨率。

Ablation studies

我们进行了三种不同的消融研究(表 5)。 首先,在微调期间检查了我们的方法在没有辅助 LM 目标的情况下的性能,我们观察到辅助目标有助于 NLI 任务和 QQP。 总的来说,趋势表明较大的数据集受益于辅助目标,但较小的数据集则没有。其次,通过将其与使用相同框架的单层 2048 单元 LSTM 进行比较来分析 Transformer 的效果。当使用 LSTM 而不是 Transformer 时,观察到平均分数下降了 5.6。LSTM 仅在一个数据集——MRPC 上优于 Transformer。 最后,还比较了直接在监督目标任务上训练的 transformer 架构,无需预训练。 观察到,缺乏预训练会影响所有任务的性能,与我们的完整模型相比,性能下降了 14.8%。

Conclusion

我们引入了一个框架,通过生成式预训练和判别式微调,使用与任务无关的单一模型实现强大的自然语言理解。 通过对具有长段连续文本的多样化语料库进行预训练,模型获得了重要的世界知识和处理远程依赖关系的能力,然后成功地转移到解决判别任务,如问答、语义相似性评估、蕴含确定和文本分类,改进了我们研究的 12 个数据集中的 9 个的最新技术水平。使用无监督(预)训练来提高判别任务的性能一直是机器学习研究的一个重要目标。 我们的工作表明,实现显着的性能提升确实是可能的,并提供了关于哪种模型(变形金刚)和数据集(具有远程依赖性的文本)最适合这种方法的提示。希望这将有助于对自然语言理解和其他领域的无监督学习进行新的研究,进一步提高我们对无监督学习如何以及何时工作的理解。

参考文献

Radford A, Narasimhan K, Salimans T, et al. Improving language understanding by generative pre-training[J]. 2018.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3